﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace AbpToDomain.EntityInfo
{
    public class PutOutOrder:Entity
    {

        [Key]
        public Guid PutOutOrder_id { get; set; }
        public string? MaterialCode { get; set; }
        public string? Batch { get; set; }
        public double OutBoundQuantity { get; set; }
        public double VirtualOutBound { get; set; }
        [Comment("清单标记")]
        public string? Symbol { get; set; }
        [Comment("用户工单")]
        public string? PutOutOrderCode { get; set; }
        public DateTime? CreateTime { get; set; }
        public DateTime? UpdateTime { get; set; }
        public int No {  get; set; }
        public string? State {  get; set; }
        [Comment("是否已完成")]
        public bool IsFinish { get; set; }
        [Comment("轮询次数")]
        public int PollingCount { get; set; }
        [Comment("机台")]
        public int Machine {  get; set; }
        [Comment("拣配id")]
        public int? JPID {  get; set; }
        [Comment("删除ID")]
        public int? DETAILID {  get; set; }
        [Comment("工单批次")]
        public string? OrderBatch { get; set; }
        [Comment("打印工单")]
        public string? printOrder { get; set; }
        [Comment("需求补料")]
        public bool IsReplenishment { get; set; }
        //foreign key
        public List<NeetOutMaterial>? neetOutMaterials { get; set; }=new List<NeetOutMaterial>();
        public override object[] GetKeys()
        {
            return new object[] { PutOutOrder_id };
        }


        //foreign key 
        public  List<TaskOrder>? TaskOrders { get; set; }=new List<TaskOrder>();
    }
}
